package service.impl;

import dao.GoodsClassDao;
import dao.GoodsDao;
import dao.impl.GoodsClassDaoImpl;
import dao.impl.GoodsDaoImpl;
import pojo.GoodsClass;
import service.GoodsClassService;
import util.PageBean;

import java.util.List;

/**
 * 实现商品分类表增删改查的数据处理Service层
 * @author 周超
 */
public class GoodsClassServiceImpl implements GoodsClassService {
    GoodsClassDao goodsClassDao=new GoodsClassDaoImpl();
    /**
     * 新增商品分类
     * @param goodsClass
     * @return
     */
    @Override
    public int addGoodsClass(GoodsClass goodsClass) {
        return goodsClassDao.addGoodsClass(goodsClass);
    }

    /**
     * 删除商品分类
     * @param clId
     * @return
     */
    @Override
    public int delGoodsClass(int clId) {
        return goodsClassDao.delGoodsClass(clId);
    }

    /**
     * 修改商品分类信息
     * @param goodsClass
     * @return
     */
    @Override
    public int altGoodsClass(GoodsClass goodsClass) {
        return goodsClassDao.altGoodsClass(goodsClass);
    }

    /**
     * 查询所有商品分类信息
     * @return
     */
    @Override
    public List<GoodsClass> queryAll() {
        return goodsClassDao.queryAll();
    }

    /**
     * 根据商品分类名称查询商品分类id
     * @return
     */
    @Override
    public int queryGoodsClassId(String clName) {
        return goodsClassDao.queryGoodsClassId(clName);
    }

    /**
     * 按条件模糊查询所有商品分类信息
     * @param pb
     * @param className
     * @return
     */
    @Override
    public PageBean queryAllGoodsClassInfo(PageBean pb, String className) {
        pb.setTotalCount(goodsClassDao.count(className));
        if(pb.getTotalCount()%pb.getPageSize()==0){
            pb.setTotalPage(pb.getTotalCount()/pb.getPageSize());
        }
        else{
            pb.setTotalPage(pb.getTotalCount()/pb.getPageSize()+1);
        }
        return goodsClassDao.queryAllGoodsClassInfo(pb,className);
    }

    /**
     * 根据商品分类id查询商品分类信息
     * @param clId
     * @return
     */
    @Override
    public GoodsClass queryGoodsClassInfo(int clId) {
        return goodsClassDao.queryGoodsClassInfo(clId);
    }
}
